home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 3
/
Light ROM 3 - Disc 2.iso
/
programs
/
amiga
/
amicdrom
/
3
/
readme1
< prev
next >
Wrap
Text File
|
1994-01-17
|
26KB
|
688 lines
AmiCDROM - a CDROM filesystem for the Commodore Amiga
-----------------------------------------------------
Version 1.8 17-Jan-94 (C) 1993,1994 by Frank Munkert
(ln_fmu@pki-nbg.philips.de)
* IMPORTANT NOTICE FOR USERS OF VERSIONS 1.0, 1.1 and 1.2:
*
* The format of the Mountlist 'Startup' field has been changed.
* Please consult the section "THE 'STARTUP' FIELD" for further information.
INTRODUCTION
AmiCDROM is a CDROM disk filing system for the Commodore
Amiga. It supports the ISO-9660 standard, the Rock Ridge
Interchange Protocol and the Macintosh HFS format.
The CDROM drive is mounted as a DOS device (e.g. CD0:). You
can access files and directories on a CDROM disk by the usual
syntax, e.g. "type cd0:foo/readme.txt".
DISCLAIMER
This software is provided as-is, without warranty of any kind,
either expressed or implied. In no event will the author be liable
for direct, indirect, incidental or consequential damages or data
loss resulting from the use or application of this software. The
entire risk as to the results and performance of this software is
assumed by the user.
REQUIREMENTS
AmiCDROM should work with any Amiga model which has a "SCSI-direct"
compatible SCSI bus adapter. (It might also work with SCSI drivers
that have no SCSI-direct feature; see 'T'áoption.)
The running handler requires about 60K of memory (with default parameter
settings).
AmiCDROM has been reported to work with the following drives:
Toshiba 2100, 3200, 3301, 3401, 4101; NEC CDR-25, -55, -74, -84-1;
Sony CDU-561, CDU-8002;
Apple CD-150, CD-300; Chinon 435; Texel DM5028.
AmiCDROM has been reported to work with the following SCSI interfaces:
A3000 built-in, Commodore A2091, Emplant, Fastlane SCSI II, Fastlane Z3,
Commodore A4091, Evolution V3.x, ICD Advantage 2000, Masoboshi MasterCard,
Golem SCSI-II, DataFlyer.
Problems have been reported with GVP controllers, Evolution and
ICD Advantage. If you have one of these controllers, try the TRACKDISK
option!
INSTALLATION
1. Copy the 'cdrom-handler' file to L:cdrom-handler.
2a If you use Workbench 2.0:
Create an entry in DEVS:MountList like this:
CD0: Handler = L:cdrom-handler
Stacksize = 10000
Priority = 5
GlobVec = -1
Mount = 1
Startup = "scsi.device 1 ROCKRIDGE LOWERCASE" /* see below */
#
You can choose any name you like for "CD0".
Install the handler in DOS using the CLI command "Mount CD0:".
If there is a problem during mounting, AmiCDROM will put up a
requester with an error message.
If you use AmiCDROM regularily, you might consider to put
"Mount CD0:" in the user startup-sequence.
2b If you use Workbench 2.1 or higher:
Edit the file CD0. It contains a Mountlist as described in step 2a
(with the exception that "CD0:" and "#" are missing).
If you don't like the name "CD0", rename this file and the file
CD0.info. Use the Workbench to move the icon CD0 into the drawer
sys:Storage/DOSDrivers. Now enter the command "Mount CD0:" to
install the handler.
If you use AmiCDROM regularily, you might consider to put
the icon in the drawer WBStartup or Devs:DOSDrivers; all files in these
drawers will be mounted at startup. If the icon is in the WBStartup
drawer, the Workbench will not wait until "CD0:" is mounted; if the
icon is in Devs:DOSDrivers, the Workbench will wait. The first
method is recommendable if you want your system to come up as fast
as possible. The second method has to be used if you want to refer
to "CD0:" in your s:user-startup sequence.
IMPORTANT:
Make sure, that all assigned volume names (such as "L:") are known
at the time of mounting. Otherwise, the handler will not be
mounted, and no error message will be issued.
If you have put CD0 into DEVS:DosDrivers and the handler does not
auto-mount, then you probably have a wrong filename in the 'Handler'
or 'Startup' field.
The 'Startup' field
The 'Startup' field in the MountList is a string with the following
template:
D=DEVICE,U=UNIT/N,C=CHIP/S,F=FAST/S,DMA,ANY,L=LOWERCASE/S,
R=ROCKRIDGE/S,T=TRACKDISK/S,MI=MACTOISO/S,CS=CONVERTSPACES/S,
SV=SHOWVERSION/S,HF=HFSFIRST/S,SB=STDBUFFERS/K/N,FB=FILEBUFFERS/K/N,
DE=DATAEXT/K,RE=RESOURCEEXT/K,SI=SCANINTERVAL/K/N,PC=PLAYCDDA/K,
X=XPOS/K/N,Y=YPOS/K/N
The first field (DEVICE) contains the name of your SCSI device.
The second field (UNIT) contains the target ID (aka "SCSI-ID")
of your CDROM drive. If your CDROM drive supports multiple logical units,
such as the Pioneer DRM-604X six disk changer drive, then the 10s digit
of the number in this field should be the LUN of the desired disk.
The following options may be used:
L Map ISO-9660 names to lower case
LOWERCASE
R Use Rock Ridge file names, if possible.
ROCKRIDGE
T Use trackdisk-device calls instead of SCSI-direct calls.
TRACKDISK (Some SCSI boards do not support Commodore's HD_SCSICMD
command. If you set the 'T' option, only the normal
CMD_READ is used, which will be translated by the SCSI driver
into the corresponding SCSI commands.)
MI Convert Mac characters into ISO-Latin-1 (Amiga) characters.
MACTOISO (The conversion applies only to the filenames, not to
the contents of the files.) Additionally, the character
':' will be converted into a '.', and '/' will be
converted into '-'; this is necessary because AmigaDOS cannot
handle filenames containing those characters.
CS Convert spaces in MacHFS filenames into underscores ('_').
CONVERTSPACES
SV Show version numbers.
SHOWVERSION
HF If a new disk is mounted, AmiCDROM normally tests first
HFSFIRST if the new disk is a ISO-9660 disk. If the option "HF"
is given, then the disk is first examined for a HFS
partition.
This option is useful if you have a "multi-platform"
disk with both a ISO-9660 and a HFS partition. Without
the option you get the ISO partition; with the option
you get the HFS partition.
SB Number of 2048 byte buffers for general access to the
STDBUFFERS CDROM drive. Default = 5 buffers
FB Number of 2048 byte buffers for file access with the
FILEBUFFERS AmigaDOS Read() call. Default = 5 buffers
DE Extension for the data fork of a file on MacHFS disks.
DATAEXT
RE Extension for the resource fork of a file on MacHFS disks.
RESOURCEEXT (If neither DE nor RE are given, DE is set to the empty
string and RE is set to ".rsrc".)
SI Time between two successive diskchange checks.
SCANINTERVAL Default = 3 seconds.
If the value of this option is 0, then no diskchange
checks will be performed; in this case, you have to use
the DISKCHANGE command in order to inform AmiCDROM that
a disk has been changed.
PC Name of the command to be executed if the user double-
PLAYCDDA clicks at the "CD-DA" icon. If you want to execute
a command with parameters, you have to create
a script file containing the command plus parameters.
The name of the script file has to be passed as an
argument to the PC option. Don't forget to set the
"S" protection bit of the script file.
X X position of CD-DA icon. (Default: WB selects position.)
XPOS
Y Y position of CD-DA icon. (Default: WB selects position.)
YPOS
I recommend to specify at least LOWERCASE and ROCKRIDGE, for better
readability.
Memory options:
C Use chip memory for SCSI buffers.
CHIP
F Use fast memory for SCSI buffers. Please note, that some
FAST SCSI devices can only read from or write to chip memory.
(The A3000 scsi.device is able to use fast memory.)
DMA Use 24 bit DMA memory for SCSI buffers, i.e. only
memory addresses below 0x01000000 are considered for
buffering.
ANY Use any memory available.
The memory options are mutually exclusive. If no memory option has
been selected, then CHIP is the default.
Example:
Startup = "foo.device 3 ROCKRIDGE SB=10 FB=10 DE=.1 RE=.2"
Use the device "foo.device" and unit number 3. Use Rock Ridge
if possible and use 10 buffers for standard SCSI access (SB=10) and
for file access (FB=10). In HFS filenames, mark the data fork with
the extension ".1" (DE=.1) and the resource fork with the
extension ".2" (RE=.2).
Older Mount commands (e.g. those distributed with Workbench 2.0)
cannot handle space characters and "=" signs within startup
parameters. In AmiCDROM, the following workaround has been made
available: every '-' sign will be replaced internally by a space
character. This means that
Startup = "foo.device-3-ROCKRIDGE-SB-10-FB-10-DE-.1-RE-.2"
is equivalent to the example above.
If you really need a '-' character in the startup field (e.g. if
the name of your device is "my-scsi.device"), then you have
to write '--' instead of '-', e.g.
Startup = "my--scsi.device-3"
USING AMICDROM
You may use "CD0:" as if it were an ordinary volume, i.e. you may
execute commands such as:
dir cd0:
cd cd0:
type cd0:readme.txt
CDROM FILENAMES (ISO-9660 and RockRidge)
A standard CDROM disk ("volume") contains a ISO-9660 directory tree.
ISO file names have the following format:
FILENAME.EXTENSION;VERSION
e.g. README.TXT;1
The filenames may contain upper-case letters, digits and underscores.
AmiCDROM normally ignores the version number of a file. If you
specify the option "SV", however, the version numbers will be
displayed. If you have to supply a file name, you may or may not
specify a version number. E.g. in order to type the contents of the file
README.TXT;1 you might use one of the following commands:
type readme.txt
type "readme.txt;1"
(don't forget the quotation marks!)
If a directory contains more than one file with the same name (and
different version numbers), then you have to supply the version number
in order to be able to choose the version you want.
Filenames may be mapped to lower-case by specifying the startup option "L".
Lower-case names are generally easier to read than upper-case names.
ISO filenames have a limited length and format. To overcome this
restriction, the Rock Ridge Group has devised the Rock Ridge Interchange
Protocol which allows arbitrary filenames. Rock Ridge filenames
are stored in so-called "system use areas" within the ISO-9660
filesystem.
By specifying the startup option "R", AmiCDROM recognizes Rock Ridge
filenames on a Rock Ridge CDROM disk.
SYMBOLIC LINKS ON ROCKRIDGE DISKS
The Rock Ridge protocol standard also defines so-called symbolic links.
A symbolic link is a file A which contains the filename of another
file B. Whenever the name of file A is used, file B will be accessed.
AmiCDROM maps symbolic links to AmigaDOS soft links. The soft links as
specified and implemented in AmigaDOS 2.1/3.0, however, do not work
very well. Actually, soft links are not officially supported by Commodore.
You most probably will encounter problems, if you use path names which
contain soft links in their middle. Therefore, you should always ensure that
the soft link part of the path name is the last part, i.e.
use "cd cd0:foo/soft" and "cd bar" instead of "cd cd0:foo/soft/bar", if
"soft" is a soft link.
The AmigaDOS comment field for symbolic links will be set to "Symbolic Link".
Therefore, you may use the "list" command in order to identify symbolic
links. If you want to know what the target file of a symbolic link is,
then you might use the command "cdrom o <symlink-name>".
DISKCHANGE RECOGNITION
In order to recognize a "disk changed" condition, the CDROM drive is
periodically (each 3 seconds) queried by the filesystem handler.
On some Amigas this may cause the "Hard Disk" LED to flash every
3 seconds. Obviously, the "Hard Disk" LED isn't actually connected to
a hard disk drive; it is simply an indicator for SCSI bus activity.
The time between two successive diskchange checks can be modified
with the SCANINTERVAL option. If this option is set to 0, no diskchange
checks will be performed. This might especially be useful for BBS
systems, where disks aren't changed very often.
You may force a diskchange check with the AmigaDOS DISKCHANGE
command, e.g. "DISKCHANGE CD0:".
FILE ATTRIBUTES
In the current version of AmiCDROM, only the "creation date"
attribute of a CDROM file is supported (e.g. if you say "list cd0:").
Protection bits will be supported in a later version of AmiCDROM.
MACINTOSH HFS FORMAT
Each MacHFS file consists of two parts: a "data fork" and a "resource
fork". Each fork may be regarded as an individual file. Both the
data fork and the resource fork may be empty.
AmiCDROM treats each fork as an individual file. While other CDROM
filesystems may require you to switch between the modes "show only
data forks" and "show only resource forks", AmiCDROM displays both
data and resource forks in one directory. If either of the two forks
is empty, it will not be displayed.
By default, the resource fork is marked with the extension ".rsrc".
You may change the extensions with the options DATAEXT and RESOURCEEXT.
MacHFS file names tend to contain lots of space characters. If you
don't like this, you may use the switch CONVERTSPACES to convert
all space characters into underscores.
The Macintosh uses a slightly different character set than the
Amiga. The upper 128 characters in the Amiga character set
correspond to the ISO-Latin-1 standard. The upper 128 characters in
the Macintosh character set, however, are specific to the Mac.
If you want to convert Mac characters in filenames into ISO-Latin-1
characters, you should use the MACTOISO option.
AUDIO DISKS (CD-DA)
If a disk that contains one or more audio tracks is inserted into the
drive, AmiCDROM will display an icon with the name "CD-DA". If you
double-click on this icon, the CDROM drive will start to play the
first track on the disk. If you double-click on this icon again, the
CDROM drive stops playing.
If you want to use a more sophisticated way to handle audio disks,
you may provide the name of a CD-DA player program as an argument
to the PLAYCDDA option. Recommendable programs are "JukeBox" by
F-J. Reichert, which uses a CD-player like user-interface, and
"PlayCDDA" by the author of AmiCDROM. PlayCDDA V1.0 is suitable only
for Toshiba 3401 CDROM drives; these drives can send CD-DA data
over the SCSI bus. PlayCDDA reproduces the sound which is recorded
on the disk on the Amiga's audio.device.
The position of the CD-DA icon on the Workbench can be modified with
the options XPOS and YPOS.
You can use this feature only if the TRACKDISK option is not
enabled, and if your CDROM drive supports audio commands. If you only
have a SCSI-1 CDROM drive, you probably also won't be able to use
this feature (use "cdrom a" to test whether or not you have a SCSI-1
drive).
MULTISESSION SUPPORT
Some CD-ROMs, such as PhotoCDs, can be recorded in multiple sessions.
If your CD-ROM drive supports extended architecture (XA) disks and
can read multiple sessions, then AmiCDROM will show you always the
latest session.
You can use this feature only if the TRACKDISK option is not used.
If you only have a SCSI-1 CDROM drive, you probably also won't be able
to use this feature (use "cdrom a" to test whether or not you have a SCSI-1
drive).
THE 'CDCONTROL' PROGRAM
The 'cdcontrol' lets the user change parameters of the CDROM handler
while the handler is running. These changes are only temporary, and
persist only as long as the handler is running.
'cdcontrol' is invoked as
cdcontrol device: command
where 'command' may be one of the following commands:
lowercase on Convert ISO filenames to lowercase
lowercase off Don't convert ISO filenames
mactoiso on Convert Mac to Amiga characters
mactoiso off Don't convert Mac filenames
convertspaces on Convert HFS spaces into underscores
convertspaces off Don't convert spaces in HFS filenames
hfsfirst on Look for a HFS partition first
hfsfirst off Look for an ISO partition first
dataext <name> Set extension for HFS data forks
resourceext <name> Set extension for HFS resource forks
Example:
cdcontrol CD0: dataext ".data"
All command names may be abbreviated to the one- or two-letter
abbreviations shown in the section "The 'Startup' field".
THE 'CDROM' PROGRAM
The 'cdrom' program is mainly for developers of AmiCDROM.
However, there are some features which might be useful to
everyone.
In order to use 'cdrom' you have to set the following
environment variables:
CDROM_DEVICE Name of your SCSI device, e.g. "scsi.device"
CDROM_UNIT SCSI-ID of your CDROM drive, e.g. "2"
CDROM_TRACKDISK Has to be set to any value if you want to use
trackdisk commands only.
CDROM_FASTMEM Has to be set to any value if you want to use
fast memory instead of chip memory for buffers.
Here are some useful commands:
cdrom a Show information on the CDROM drive.
cdrom d[rl] dir Show directory 'dir'.
Option r: also show subdirectories.
Option l: show additional information.
cdrom e[rl] dir Show directory 'dir' using Rock Ridge names.
Option r: also show subdirectories.
Option l: show additional information.
cdrom i Show the format (ISO, RR or HFS) of the current disk.
cdrom s num Read the contents of sector 'num'.
cdrom v Show the primary volume descriptor of the CDROM disk.
cdrom z Test if the CDROM drive is ready.
TROUBLESHOOTING
Q: My Amiga crashes if I mount the CD0 device.
A: Possibly your SCSI driver does not support the selected
access method. Play around with the options "TRACKDISK",
"CHIP", "FAST", "DMA" and "ANY"; there should be a setting
which also works for you.
Q: If I use many screens or many colors, my Amiga runs slower
and slower.
A: Probably you are running out of chip memory. Use the "FAST"
option, if your SCSI driver supports this. Otherwise, decrease
the size of the AmiCDROM buffers with the options FB and SB.
Q: My system does not boot if no disk is inserted in the CDROM drive.
A: L. Scott Emmons (csusac.csus.edu!cdsac!scotte) suggests this:
If the CDROM drive is at a SCSI address lower than the last
hard drive device, the system will not boot unless either the
drive is powered off, or a data CD is in the drive. To fix,
I changed my hard drive to SCSI device 0, put the CDROM drive
as device 5, and then rebooted with the CDROM drive powered OFF.
I ran HDTOOLBOX, which complained that "something had changed",
did a "SAVE", and exited. Now, I can reboot with the CDROM drive
either on or off, and everything is fine. Apparently this has to
do with setting the "last drive" bit on the hard drive, or some
such. This will be a problem with any factory-installed hard
drives, since CBM insists on installing them as SCSI device 6.
OTHER UTILITIES OF INTEREST
"SCSIUtil" by Gary Duncan and Heiko Rath:
Provides low level access to your CDROM drive. Useful for debugging.
"ForceIcon" by Kai Iske:
A commodity which places icons for volumes and devices at user-definable
locations. Useful if you don't like the icon locations and images on
your CDROM.
THANKS
I would like to send many thanks for their help, encouragement and
beta testing to:
Thomas Baetzler
Stefan Becker
Johanna Berewinkel
J. M. Bezeau
Stefan Le Breton
Dirk-Michael Brosig
James Cooper
Gary Duncan
Richard L. Dyson
Brent Earl
Phillip Eastham
L. Scott Emmons
Stephan Feinen
Fred Fish
Jos Fries
Thorsten Frueauf
Humberto L. Gomez
Oliver Graf
Christoph Guelicher
Carsten Hammer
Joe Hanson
Rainer Hess
Martin Jahner
Stephan Kohler
Thomas Kroener
Roy S. Laufer
W. R. Leach
Martin Loos
Bo Najdrovsky
Dylan McNamee
Thomas J. Moore
Ottmar Roehrig
Henning Schmiedehausen
Martin Schulze
Bill Seymour
Ignatios Souvatzis
Joergen Thomsen
Mark Tomlinson
Roy Trevino
Jim Zepeda
Especially I would like to thank
Olaf Barthel
for his many valuable hints on how to improve AmiCDROM.
BUGS AND NOT SUPPORTED FEATURES
Bugs: If you find any bugs, please send an e-mail message to:
ln_fmu@pki-nbg.philips.de
If you want to report an error, please describe your system
configuration (Amiga model, SCSI device name, CDROM drive model)
and include your MountList entry for the "CD0:" device.
Include in your bug report the output of the commands "cdrom a"
and "cdrom v".
Not supported features:
- Interleaved mode (ISO)
- Multi-disk volumes (ISO)
- Multi-volume disks (ISO)
- Deep directory relocation (Rock Ridge)
----------------------------------------------------------------------
HISTORY:
========
Changes in V1.8:
* Support for symbolic links on RockRidge disks.
* Support for multisession disks (such as PhotoCDs).
* New memory options CHIP, DMA and ANY.
* Removed the assembly stubs for the debug process (Aztec and SAS/C).
* Support for the ACTION_FLUSH packet.
* Changed the packet number for cdcontrol from 666 to 2050.
* The option LOWERCASE now also applies to ISO volume names.
* Double-clicking at the CD-DA icon (without PLAYCDDA option) now plays
the whole CD.
* Support for CDROM drives with block lengths of 512, 1024 and 2048 bytes.
* Better method for finding HFS master directory blocks.
* User may define the location of the CD-DA icon.
* If the CD-DA icon cannot be displayed because the WB is not open, then
the display function will be retried periodically (all SCANINTERVAL seconds).
* The AmiCDROM device node now also contains a pointer a FileSysStartupMsg,
in order to live peacefully together with SysInfo and similar tools.
* Support for drives which do not support the SCSI-2 READ TOC command.
Changes in V1.7:
* Some packets are now handled even if no disk is inserted (e.g. the
ACTION_INHIBIT packet). Otherwise WB would bring up the requester "No Disk
in drive CD0:" when the system is booted without a CD in the drive.
* Improved "cdrom d" and "cdrom e" commands.
* Removed call to GetDefDiskObject(). This call sometimes caused a crash,
because GetDefDiskObject sends/receives DOS packets. A DOS handler isn't
allowed to do this.
* Added custom CD-DA icon.
* Support for logical block sizes of 512, 1024 and 2048 bytes.
* Fixed bug in HFS module.
* Option MACTOISO now also converts ':' and '/' characters.
* Options MACTOISO and CONVERTSPACES now also apply to volume names.
Changes in V1.6:
* CD-DA support; new option: PLAYCDDA.
* New option: SCANINTERVAL (user-programmable diskchange check interval).
* Better support for ACTION_INHIBIT packet.
* Allows ISO filenames with ';' characters.
* Can now be compiled with DICE 2.07.56R.
Changes in V1.5:
* Make Toshiba-3401 drives switch between XA and normal mode, depending
on the inserted disk. (Useful for PhotoCDs.)
* New option: SHOWVERSION.
* New option: HFSFIRST.
* Fixed a bug which caused an enforcer hit with the "cdrom" program.
* "cdcontrol" control program.
Changes in V1.4:
* Added Mac HFS support.
* The path table of ISO disks is no longer examined. This results in a
little speed increase. Furthermore, the FishMarket V2.0 disk by AsimWare
(which has a corrupted path table) can now be read with AmiCDROM.
* Bug fix: if a there is a disk change immediatedly before mounting AmiCDROM,
the new disk will now be recognized.
* SAS/C support for debug process (dbproc.a).
Changes in V1.3:
* Improved caching algorithm.
* New buffering options 'STDBUFFERS' and 'FILEBUFFERS'.
* Fixed bug with locks containing wrong fl_Volume entry. Now the AmigaDOS
shell should show the correct volume prompt.
* New format for the Mountlist 'Startup' field.
* Compiled with small memory model.
* Uses utility.library in order to reduce the size of the executable.
* Recognizes if a non-ISO disk is in the CDROM drive and creates a
'no DOS disk' volume node. This solves some problems with Audio-CDs.
* The volume node now contains the volume creation date.
* Can now be compiled with SAS/C and DICE in addition to Aztec C.
Changes in V1.2:
* Support for new packets: ACTION_SAME_LOCK, ACTION_IS_FILESYSTEM,
ACTION_CURRENT_VOLUME.
* Send 'disk inserted' or 'disk removed' event, so that the Workbench
detects disk changes faster.
* Added fast memory option 'F'.
* Writing ACTIONs now return a 'write protected' error status.
* Unload handler after ACTION_DIE.
* Immediately terminate program if called from CLI.
* Set volume label to "Unnamed" for disks without name.
* Added support for LUNs other than 0.
* Included an icon for the Mountlist.
* DOS list changes now bracketed by Forbid() and Permit().
* Corrected another ACTION_SEEK bug.
* Handler cannot be killed if locks or filehandles are in use.
Changes in V1.1:
* Bug in ACTION_SEEK handling fixed.
* Bug with top-level ACTION_EXAMINE_OBJECT for Rock Ridge disks fixed.
* Added code to detect whether a lock stems from the current volume
or from another volume which has been removed from the drive.
(In this case the error 'object not found'á(205) is reported.)
* Added support for trackdisk calls. (Startup option 'T')